package cn.bdqn.converter;

import cn.bdqn.entity.Sale;
import cn.bdqn.vo.SaleListVo;
import cn.bdqn.vo.SaleVo;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.BeanUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 郑大仙丶
 * @date 2018-12-31 15:09
 */
public class PageInfo2SaleVoConverter {


    // 将pageInfo中的数据封装成SaleVo
    public static SaleVo convert(PageInfo<Sale> pageInfo) {
        SaleVo saleVo = new SaleVo();
        //1. 封装分页信息
        saleVo.setCurrentPage(pageInfo.getPageNum());
        saleVo.setPageSize(pageInfo.getPageSize());
        saleVo.setTotalCount(pageInfo.getTotal());
        saleVo.setTotalPage(pageInfo.getPages());
        //2. 封装saleVo中的list属性
        List<SaleListVo> list = new ArrayList<>();
        // 遍历pageInfo中的list.给list数据赋值.
        for (Sale sale : pageInfo.getList()) {
            // 创建Vo
            SaleListVo saleListVo = new SaleListVo();
            // 将sale中的数据,设置到vo中
            BeanUtils.copyProperties(sale,saleListVo);
            saleListVo.setTotalprice(sale.getTotalPrice());
            saleListVo.setSaledate(sale.getSaleDate());
            // 将vo设置到list中
            list.add(saleListVo);
        }
        // 设置到list属性中
        saleVo.setList(list);
        // 返回
        return saleVo;
    }
}
